本程序用于遗传算法求解函数最大值:f(x)=x+10sin(5x)+7cos(4x),0<=x<=9
主要过程有初始化种群,基因编码,计算目标函数值,求解适应度函数,自然选择(采用轮盘赌算法),基因交换,基因突变。
初始化种群:
pop = [[0, 1, 0 , 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] for i in range(popsize)] # 初始化种群
改进的初始化种群方式:
pop = [[0, 0, 0 , 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] for i in range(m)] # 初始化种群 pop.extend([[0, 0, 1 , 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0] for i in range(m)]) pop.extend([[